﻿using System;
using AspectSharp.Core;
using AspectSharp.Lang.AST;

namespace AspectSharp
{
    public interface  IAspectEngine
    {
        EngineConfiguration Configuration { get; }
        IProxyFactory ProxyFactory { get; }
        IAspectMatcher AspectMatcher { get; }
        
        bool HasMatch(Type type);

        object WrapInterface(Type inter, object target);
        object WrapClass(Type classType);
    }
}
